package com.itestor.iptv.modules.common.service;

import java.util.List;
import java.util.Map;

import com.itestor.iptv.modules.common.bean.RegionManageQuery;
import com.itestor.iptv.modules.common.domain.RegionManage;
import com.itestor.iptv.modules.common.vo.RegionManageBean;
import com.itestor.iptv.modules.common.vo.RegionManageOBJ;

/**
 * 
 * @author Mr.li
 *
 */
public interface RegionManageService {

	/**
	 * 获取区局.
	 * @param regionName 
	 * @return 区局
	 */
    RegionManageOBJ get(String regionName);

	/**
	 * 获取区局.
	 * @param id 区局
	 * @return 区局
	 */
    RegionManageOBJ get(int id);
	
	/**
     * 添加区局.
     * @param user 用户.
     */
    void add(RegionManageOBJ user);

    /**
     * 编辑区局.
     * @param region 区局.    
     */
    void modify(RegionManageOBJ region);

    /**
     * 删除用户.
     * @param ids 区局Id.
     */
    void delete(int[] ids);

    /**
     * 按条件获取区局列表.
     * @param query 查询条件
     */
    void queryRegionManageList(RegionManageQuery query);
    
    /**
     * @return 
     */
    List<RegionManageOBJ> getRegionManageList();
    
    /**
     * @param parentRegionId 
     * @return  
     */
    List<RegionManageBean> getRegionListByParentid(Integer parentRegionId);

    List<RegionManage> getRootRegionList();
    /**
     * 获取区局Map集合
     * @return
     */
    Map<Integer,RegionManage> getBelongToRegionMap();
    /**
     * 查找当前子区局
     * @param enprentRegionIdtRegionId
     * @return
     */
    public List<RegionManage> getRegionListByParentId(Integer parentRegionId);
    
}
